package com.java.admin.exception;

import com.java.database.entity.GenericResult;
import org.springframework.web.bind.annotation.ControllerAdvice;
import org.springframework.web.bind.annotation.ExceptionHandler;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.servlet.ModelAndView;

//切面异常处理
//ControllerAdvice会切所有的controller
@ControllerAdvice
public class BusinessException extends Exception{

    /**
     * @Title: demoexception
     * @Description: 通过注解方式处理异常
     * @param e
     * @return ModelAndView
     * @author zuxia
     * @date 2018年8月8日下午1:09:05
     */
    //异常处理机制
//	@ExceptionHandler(value= {Exception.class})
//	public ModelAndView demoexception(Exception e) {
//		System.out.println(e.getMessage());
//	    String message=e.getMessage();
//	    ModelAndView model= new ModelAndView();
//	    model.addObject("message", message);
//	    model.setViewName("redirect:/admin/login.html");
//	    return model;
//	}


    /**
     * @Title: demoexception
     * @Description: 将异常信息用json格式反回
     * @param e
     * @return ModelAndView
     * @author zuxia
     * @date 2018年8月8日下午1:13:14
     */
    @ExceptionHandler(value= {Exception.class})
    //用注释返回json格式
    @ResponseBody
    public GenericResult adminLoginException(Exception e) {
        GenericResult result=  new GenericResult();
        result.setMessage(e.getMessage());
        result.setSuccess(false);
        return result;
    }
}
